#include "at24c02.h"
#include "iic.h"
#include "delay.h"

void write_byte_data(u8 work_addr, int byte_data)
{
    iic_start();
    // 向从机地址发写命令
    iic_write(0xA0);
    // 等待从机应答
    iic_wait_ack();
    // 发送从机上的存储写地址
    iic_write(work_addr);
    // 等待从机应答
    iic_wait_ack();
    // 写数据
    // todo int字节拆分
    iic_write(0x00);
    delay_ms(10);
    // 等待从机应答
    iic_wait_ack();
    iic_stop();
}

u8 read_byte_data(u8 device_addr,u8 work_addr)
{
    iic_start();
    // 向从机地址发写命令
    iic_write(device_addr);
    // 等待从机应答
    iic_wait_ack();
    // 发送从机上的存储写地址
    iic_write(work_addr);
    // 等待从机应答
    iic_wait_ack();
    // 再次发送start
    iic_start();
    // 向从机地址发读命令
    iic_wait_ack(device_addr|0x01);
    // 等待从机应答
    iic_wait_ack();
    // 开始接收数据
    unsigned char read_data = iic_read(0);
    return read_data;
}